package com.qijian.mold.domain.vo;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qijian.common.constant.HttpStatus;
import lombok.Data;

import java.util.List;

/**
 * 分页返回对象
 * @author anni.zhu
 * @author anni.zhu@king-v.com
 * Created in 2025/3/29 19:41
 */
@Data
public class PageResult<T> {
    private static final long serialVersionUID = 1L;

    /** 总记录数 */
    private long total;

    /** 列表数据 */
    private List<T> rows;

    /** 消息状态码 */
    private int code;

    /** 消息内容 */
    private String msg;

    private Object o;

    /**
     * 表格数据对象
     */
    public PageResult()
    {
    }

    /**
     * 分页
     *
     * @param list 列表数据
     * @param total 总记录数
     */
    public PageResult(List<T> list, int total)
    {
        this.rows = list;
        this.total = total;
    }


    public static <T> PageResult<T> success(Page<T> page) {
        PageResult<T> result = new PageResult<>();
        result.setCode(HttpStatus.SUCCESS);
        result.setMsg("查询成功");
        result.setRows(page.getRecords());
        result.setTotal(page.getTotal());
        return result;

    }
}
